Augmented Reality (AR) effects are computer-generated visual effects (e.g., images and animation) that are superimposed or integrated into a user's view of a real-world scene. Certain AR effects may be configured to track objects in the real world. For example, a computer-generated unicorn may be placed on a real-world table as captured in a video. As the table moves in the captured video (e.g., due to the camera moving or the table being carried away), the generated unicorn may follow the table so that it continues to appear on top of the table. To achieve this effect, an AR application may use tracking algorithms to track the positions and/or orientations of objects appearing in the real-world scene and use the resulting tracking data to generate the appropriate AR effect. Since AR effects may augment the real-world scene in real-time or near real-time while the scene is being observed, tracking data may need to be generated in real-time or near real-time so that the AR effect appears as desired.
A social-networking system, which may include a social-networking website, may enable its users (such as persons or organizations) to interact with it and with each other through it. The social-networking system may, with input from a user, create and store in the social-networking system a user profile associated with the user. The user profile may include demographic information, communication-channel information, and information on personal interests of the user. The social-networking system may also, with input from a user, create and store a record of relationships of the user with other users of the social-networking system, as well as provide services (e.g., wall posts, photo-sharing, event organization, messaging, games, or advertisements) to facilitate social interaction between or among users.
The social-networking system may send over one or more networks content or messages related to its services to a mobile or other computing device of a user. A user may also install software applications on a mobile or other computing device of the user for accessing a user profile of the user and other data within the social-networking system. The social-networking system may generate a personalized set of content objects to display to a user, such as a newsfeed of aggregated stories of other users connected to the user.
A mobile computing device—such as a smartphone, tablet computer, or laptop computer—may include functionality for determining its location, direction, or orientation, such as a GPS receiver, compass, gyroscope, or accelerometer. Such a device may also include functionality for wireless communication, such as BLUETOOTH communication, near-field communication (NFC), or infrared (IR) communication or communication with a wireless local area networks (WLANs) or cellular-telephone network. Such a device may also include one or more cameras, scanners, touchscreens, microphones, or speakers. Mobile computing devices may also execute software applications, such as games, web browsers, or social-networking applications. With social-networking applications, users may connect, communicate, and share information with other users in their social networks.